|
|
Main menu for Browse IS/STAG
Course info
KIV / OOP
:
Course description
Department/Unit / Abbreviation
|
KIV
/
OOP
|
Academic Year
|
2023/2024
|
Academic Year
|
2023/2024
|
Title
|
Object-Oriented Programming
|
Form of course completion
|
Exam
|
Form of course completion
|
Exam
|
Accredited / Credits
|
Yes,
4
Cred.
|
Type of completion
|
Combined
|
Type of completion
|
Combined
|
Time requirements
|
Lecture
3
[Hours/Week]
Tutorial
1
[Hours/Week]
|
Course credit prior to examination
|
Yes
|
Course credit prior to examination
|
Yes
|
Automatic acceptance of credit before examination
|
No
|
Included in study average
|
YES
|
Language of instruction
|
Czech
|
Occ/max
|
|
|
|
Automatic acceptance of credit before examination
|
No
|
Summer semester
|
0 / -
|
0 / -
|
0 / -
|
Included in study average
|
YES
|
Winter semester
|
0 / -
|
0 / -
|
0 / -
|
Repeated registration
|
NO
|
Repeated registration
|
NO
|
Timetable
|
Yes
|
Semester taught
|
Winter semester
|
Semester taught
|
Winter semester
|
Minimum (B + C) students
|
10
|
Optional course |
Yes
|
Optional course
|
Yes
|
Language of instruction
|
Czech
|
Internship duration
|
0
|
No. of hours of on-premise lessons |
|
Evaluation scale |
1|2|3|4 |
Periodicity |
každý rok
|
Evaluation scale for credit before examination |
S|N |
Periodicita upřesnění |
|
Fundamental theoretical course |
No
|
Fundamental course |
No
|
Fundamental theoretical course |
No
|
Evaluation scale |
1|2|3|4 |
Evaluation scale for credit before examination |
S|N |
Substituted course
|
None
|
Preclusive courses
|
N/A
|
Prerequisite courses
|
N/A
|
Informally recommended courses
|
N/A
|
Courses depending on this Course
|
N/A
|
Histogram of students' grades over the years:
Graphic PNG
,
XLS
|
Course objectives:
|
Understanding of principles and practical knowledge of an object oriented programming, object oriented analysis and design.
|
Requirements on student
|
Students have to obtain at least a minimum amount of points from the set of home exercises and from a test. A systematic continuous work during the term is required.
|
Content
|
1. Classes and objects in interactive mode of the BlueJ environment, communication with classes and objels
2. Class and its partst - constructors, fields, methods, interface versus implementation, contract
3. Design patterns: Utility class, Static factory method, Singleton, Crate, Enum
4. Interface ? construction and implementation, class with several interfaces
5. Data types, packages, JAR files - methods of the Object class, Java data types: primitive and object, String class, practical things about the Java program: main class and main() method, JAR files, packages
6. Inheritance of types (implementation of interfaces) and composition as a substitution for inheritance
7. Inheritance of implementation and cooperation with a superclass, a final class, an abstract class
8. Collection API 1 - the Collection interface, the Arrays class, anonymous data type versus genericity,
9. Collection API 2 - lists, sets, maps, design pattern Iterator
10. Polymorphism, handlers, inner and nested data types
11. UML: a basic survey, the class diagram and its relationships: association, composition, agregation, the use case diagram
12. Lambda expressions, anotations
13. Advanced design patterns: Builder, Abstract factory, Composite, Decorator, Bridge, Command
|
Activities
|
|
Fields of study
|
|
Guarantors and lecturers
|
|
Literature
|
-
Basic:
Pecinovský, Rudolf. OOP ? Naučte se myslet a programovat objektově. Brno, 2010. ISBN 978-80-251-2126-9.
-
Basic:
Eckel, Bruce. Thinking in Java. 4th ed. Upper saddle River : Prentice Hall, 2006. ISBN 0-13-187248-6.
-
Basic:
Záznamy z přednášek -- dostupné elektronicky
(Herout, Pavel)
-
Recommended:
Herout, Pavel. Java : bohatství knihoven. 1. vyd. České Budějovice : Kopp, 2003. ISBN 80-7232-209-5.
-
Recommended:
Pecinovský, Rudolf. Myslíme objektově v jazyku Java, 2. vydání. Praha, 2009. ISBN 978-80-247-2653-3.
-
Recommended:
Thinking in Patterns
(Bruce, Eckel)
-
Recommended:
Herout, Pavel. Učebnice jazyka Java. České Budějovice : Kopp, 2000. ISBN 80-7232-115-3.
-
On-line library catalogues
|
Time requirements
|
All forms of study
|
Activities
|
Time requirements for activity [h]
|
Preparation for an examination (30-60)
|
30
|
Individual project (40)
|
30
|
Contact hours
|
52
|
Total
|
112
|
|
Prerequisites
|
Knowledge - students are expected to possess the following knowledge before the course commences to finish it successfully: |
rozlišovat vhodnost použití celých a reálných čísel jako proměnných |
vysvětlit pojmy proměnná, cyklus, podmínka |
vysvětlit pojmy podprogram, funkce, procedura |
rozlišovat pojmy editor, překladač, sestavovací program |
rozlišovat zdrojový kód, přeložený kód, spustitelný program |
Skills - students are expected to possess the following skills before the course commences to finish it successfully: |
používat rutinně nějaký editor |
běžné práce s personálním počítačem, tj. umístění souborů na přesně definované místo a spuštění libovolného programu |
vyhledávat základní informace ve zdrojích na Internetu |
napsat jednoduchý program v libovolném programovacím jazyce |
Competences - students are expected to possess the following competences before the course commences to finish it successfully: |
N/A |
|
Learning outcomes
|
Knowledge - knowledge resulting from the course: |
vysvětlit pokročilé objektově orientovaného programování |
znát netriviální objektové vlastnosti jazyka Java |
vysvětlit principy vytváření dobrých objektových návrhů programů |
orientace v základních návrhových vzorech |
orientace v principech a některých diagramech jazyka UML |
Skills - skills resulting from the course: |
navrhnout a odladit program sestávající z více tříd |
používat jednotkové testování |
vytvořit detailní UML diagram tříd jako dokumentaci ke svému programu |
programovat proti rozhraní |
používat dynamické kontejnery v jazyce Java |
používat IDE Eclipse nebo NetBeans |
Competences - competences resulting from the course: |
N/A |
|
Assessment methods
|
Knowledge - knowledge achieved by taking this course are verified by the following means: |
Combined exam |
Test |
Skills - skills achieved by taking this course are verified by the following means: |
Skills demonstration during practicum |
Continuous assessment |
Competences - competence achieved by taking this course are verified by the following means: |
Skills demonstration during practicum |
|
Teaching methods
|
Knowledge - the following training methods are used to achieve the required knowledge: |
Interactive lecture |
Skills - the following training methods are used to achieve the required skills: |
Task-based study method |
Textual studies |
Competences - the following training methods are used to achieve the required competences: |
Individual study |
Self-study of literature |
|
|
|
|